草庐IT

java treeset 抛出 illegalArgumentException : key out of range

全部标签

java - 如何处理 API 方法抛出的基本异常?

假设我正在处理被迫使用一个库API方法,该方法会抛出某种难以描述的基本异常;例如Java中的“抛出异常”。假设我没有修改库源的选项,并且每次我从我自己的方法调用API方法时都必须处理基本异常。对于某些上下文,我的代码在没有干预的情况下可能看起来像这样:publicvoidmyMethod()throwsException{//Idon'twanttodothis.someAPIObject.theirMethod();//APImethodthrowingbaseexception.}这可能是我正在调用的API方法:publicvoidtheirMethod()throwsExcept

Java Mock 抛出一个异常,然后返回一个值?

我正在使用JUnit4和Mockito2。我正在尝试模拟一种情况,在这种情况下,模拟函数在第一次调用时返回异常,并在随后的调用中返回有效值。我尝试简单地使用thenThrow()后跟thenReturn(),但这显然不是正确的方法when(stmt.executeUpdate()).thenThrow(newSQLException("Ihavefailed."));when(stmt.executeUpdate()).thenReturn(1);sut.updateValue("1");verify(dbc).rollback();sut.updateValue("2");verif

java - 当调用 openSession 并且无法建立与 DB 的连接时,Hibernate 不会抛出异常

当我配置hibernate以连接到数据库并且由于某种原因连接失败时,我注意到它在构建工厂(这是可以接受的)和我调用sessionFactory.openSession()(这是不太能接受)。更烦人的是,在我调用sessionFactory.openSession()之后,session.isConnected()返回true。(这是完全不能接受的)。到那一刻唯一告诉我它没有连接到数据库的提示是一个WARN日志条目,它由它在内部捕获并发送到记录器的java.sql.SQLException引起。除了创建一个伪事务来强制异常之外还有其他获取连接状态的方法吗?(也许配置中的一个选项说“不记录

java - 从关闭文件方法抛出 IOException 时如何管理事务(包括文件 IO)

我最近开始使用Spring的数据源事务管理器。我现在有问题。我的事务包括对数据库表的更新和对文件的写操作。它工作正常,但我对文件I/O有一些疑问。正如您在下面看到的,我已经将我的bean的openFile和closeFile方法分别配置为init方法和destroy方法,这反过来又提供了这些方法,就像构造函数和析构函数一样被调用。如果文件没有正确关闭,一些记录可能没有成功写入output.txt文件,这意味着我也无法正确处理事务管理。但是,我想回滚那些尚未附加到平面文件的数据库更新。使用我的解决方案,似乎不可能将fileClose方法添加到事务中。有谁知道如何正确执行此所需操作?如有任

java - DateTimeFormatter.parseLocalDate 抛出 UnsupportedOperationException

parseLocalDate的API说它将抛出UnsupportedOperationException“如果不支持解析”。“如果不支持解析”是什么意思?我正在查看源代码,但找不到任何抛出UnsupportedOperationException的地方。有没有人遇到过调用parseLocalDate引发此异常的情况? 最佳答案 DateTimeFormatter有两种用法:打印日期;解析日期;当您创建DateTimeFormatterinstance时,你传递给它DateTimePrinter和DateTimeParser.如果您的

java - java中的异常,重新抛出

这个问题在这里已经有了答案:WhyRe-throwExceptions?(13个答案)关闭9年前。在一些遗留代码中,我看到了这一点,一个过于宽泛的异常被捕获,然后再次抛出,这是一个好的做法吗?throwe;是重新抛出相同的异常,还是创建一个新异常?catch(Exceptione){StringBuildersb=newStringBuilder("Oops.Somethingwentwrongwithid:");sb.append(id);sb.append(".Exceptionis:");sb.append(e.toString());System.out.println(sb.

java - 尝试写入已关闭的连接时套接字不会抛出异常

我是java套接字编程的新手,但我遇到了这个问题。当我尝试写入客户端意外关闭的连接时,我没有得到任何异常。我有服务器端。publicstaticvoidmain(String[]args)throwsIOException{ServerSocketsocket=newServerSocket(8036);Stringst;while(true){System.out.println("hello");Socketsocket1=socket.accept();BufferedReaderreader=newBufferedReader(newInputStreamReader(sock

java - 正确使用 IllegalArgumentException

原问题是here我正在读取一个UTF-8文件并解析该文件的内容。如果文件中有错误,则没有必要继续执行,应该停止执行。如果内容有问题,有人建议我抛出IllegalArgumentException,但API文档说:Throwntoindicatethatamethodhasbeenpassedanillegalorinappropriateargument.在我的代码中,参数是我传递的文件(或者实际上是路径),抛出IllegalArgumentException是否正确,以防解析时出现问题?如果不是,我应该抛出什么类型的异常?privatechar[][]readMazeFromFile

java - 反序列化映射失败时如何使 Jackson 抛出异常

Jackson在处理反序列化映射期间发生的异常时有一个奇怪的行为:它抛出一个JsonMappingException其.getCause()返回异常链的最里面。//inmainObjectMapperjsonMapper=newObjectMapper();Stringjson="{\"id\":1}";try{Qq=jsonMapper.readValue(json,Q.class);}catch(JsonMappingExceptione){System.out.println(e.getCause());//java.lang.RuntimeException:ex2}//cla

java - Mockito 抛出 UnfinishedVerificationException(可能与本地方法调用有关)

我在运行测试用例时出现以下异常:org.mockito.exceptions.misusing.UnfinishedVerificationException:Missingmethodcallforverify(mock)here:->atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)Exampleofcorrectverification:verify(mock).doSomething()Also,thiserrormightshowupbecauseyouverifyeitherof:final/privat